//
//  FBIndicatorHUD.h
//  FBPersonalCenterProject
//
//  Created by Chenjing on 2017/7/3.
//  Copyright © 2017年 YunJing. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

#import "FBIndicatorHUDHelper.h"

//调用[[FBIndicatorHUD activityHUD] show],如需设置加载文字,调用[FBIndicatorHUD activityHUD].config.Message(@"").Show();

@interface FBIndicatorHUD : NSObject

/**
 *  @breif 菊花样式指示器
 */
+ (FBIndicatorConfig *)activityHUD;

/**
 *  @breif 自定义动画指示器
 */
+ (FBIndicatorConfig *)animatedHUD;

/**
 *  @breif 隐藏加载指示器,对应显示方法：show
 */
+ (void)hidden;

/**
 *  @breif  隐藏加载指示器,对应显示方法：showInView()
 *
 *  @param  view 加载指示器的superView
 */
+ (void)hiddenForView:(UIView *)view;



@end


@interface FBIndicatorConfigModel : NSObject

/** 通用设置 */

/** 设置 标题 -> 格式: .Message(@@"") */
@property (nonatomic , copy , readonly ) ConfigString Message;

/** 设置 内容 -> 格式: .UserEnabled(@@"") */
@property (nonatomic , copy , readonly ) ConfigBOOL UserEnabled;

/** 显示  -> 格式: .Show() */
@property (nonatomic , copy , readonly ) ConfigShow Show;

/** 显示  -> 格式: .Show() */
@property (nonatomic , copy , readonly ) ConfigShowInView ShowInView;

/** 显示  -> 格式: .Show() */
@property (nonatomic , copy , readonly ) ConfigFloat MarginWidth;
@end



/**
 配置工具类
 */
@interface FBIndicatorConfig : NSObject

/**
 配置model
 */
@property (nonatomic , strong ) FBIndicatorConfigModel *config;

/**
 HUD的type
 */
@property (nonatomic , assign ) FBIndicatorHUDType type;

/**
 显示方法 显示在window上
 */
- (void)show;

/**
 显示方法 显示在view上

 @param view 父view
 */
- (void)showInView:(UIView *)view;

@end
